package contract_request

import (
	"private-go-sdk/http"
	"encoding/json"
	"private-go-sdk/model/common"
)

type ContractEditOperatorsRequest struct {
	ContractInfo *common.ContractRequest `json:"contractInfo"`
	ActionInfo *common.ActionInfo `json:"actionInfo,omitempty"`
	// <ext>core:true</ext> 【签署人】签署人 【作用】 指定签署节点修改后的新签署人 【传参】 1、参数必传其一，传入多个参数时只按参数中最高优先级查询，优先级为用户id>联系方式>手机号>邮箱>成员编号>证件号>第三方业务系统用户id>登录账号。 2、若用户不存在时，将会报错。
	ActionOperators []*common.UserInfoRequest `json:"actionOperators,omitempty"`
	SealMultipleRequest *common.SealMultipleRequest `json:"sealMultipleRequest,omitempty"`
	// <ext>core:true</ext> 【修改类型】修改类型 【作用】 1、修改签署节点数据信息时为全量更新或是增量更新 2、全量更新则传入的新数据信息覆盖原数据信息，增量更新则为在原数据信息基础上增加接口新传入的数据信息 【传参】 取值范围：ALL_UPDATE(全量更新)，INCREASE_UPDATE(增量更新)；不传值默认为：ALL_UPDATE(全量更新)。
	EditType string `json:"editType,omitempty"`
	Operator *common.UserInfoRequest `json:"operator,omitempty"`
}
func (obj ContractEditOperatorsRequest) GetUrl() string {
    return "/contract/edit/operators"
}

func (obj ContractEditOperatorsRequest) GetHttpParameter() *http.HttpParameter {
    parameter := http.NewPostHttpParameter()
    jsonBytes, _ := json.Marshal(obj)
    parameter.SetJsonParamer(string(jsonBytes))
    return parameter
}
